package com.googlecode.continuity.core.client.rpc;

import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * ConfigurationRPCAsync, asynchronous implementation interface of the {@link ConfigurationRPC}.
 *
 * @author Peter Schmitt <aragos@aragos.de>
 * @see com.googlecode.continuity.core.client.rpc.ConfigurationRPC
 * @deprecated {@link com.googlecode.continuity.core.client.rpc.ConfigurationRPC}
 */
public interface ConfigurationRPCAsync {

  /**
   * Set a list of confoguration entries to new values.
   *
   * @param entries a list of configuration entries to be set
   */
  void setConfigurations(List entries, AsyncCallback async);

  /**
   * Get the configuration value for supplied configuration code.
   *
   * @param code a configuration code
   */
  void getValue(String code, AsyncCallback async);

  /**
   * Convenience method, returns a configuration value for the supplied configuration code
   * that has been converted to an integer.
   *
   * @param code configuration code
   */
  void getValueInteger(String code, AsyncCallback async);

  /**
   * Get entry instances for a list of configuration entry identifiers.
   *
   * @param codes the codes to be resolved
   * @gwt.typeArgs codes <java.lang.String>
   */
  void getConfigurations(List codes, AsyncCallback async);
}
